import java.util.Scanner;
import java.util.Arrays;
public class ArrayDilatationTest {
	public static void main (String[] args) {
		
		int cap;																//数组大小
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入数组大小：");
		cap = sc.nextInt();														//输入数组大小
		while(cap <= 0) {
			System.out.println("您输入的数组大小有误，请重新输入！");
			cap = sc.nextInt();
		}
		int[] arr1 = new int[cap];
		for(int i = 0;i < cap;i++) {
			System.out.println("请输入第" + (i + 1) + "个值:");
			arr1[i] = sc.nextInt();
			if((i + 1) >= (cap * 0.8)) {										//判断当前是否达到数组容量的80%
				cap = (int)(cap * 1.5);											//将数组大小定义扩大1.5倍
				if(cap == 1) {													//如果数组大小为1则直接加1
					cap++;
				}
				int[] arr2 = new int[cap];										//重新创建一个原数组1.5倍大小的新数组
				System.arraycopy(arr1,0,arr2,0,i + 1);                          //将原数组拷贝至新数组
				arr1 = arr2;                    								//将新数组的地址赋给原数组
			}
			System.out.println(Arrays.toString(arr1));
		}
		
	}
}